def extract_strings(source_code):
    strings = []
    current_string = []
    in_string = False
    escape = False

    for char in source_code:
        if escape:
            # 处理转义字符
            current_string.append(char)
            escape = False
        elif char == '\\':
            # 遇到反斜杠，进入转义状态
            escape = True
        elif char == '"':
            # 遇到双引号
            if in_string:
                # 字符串结束
                strings.append(''.join(current_string))
                current_string = []
                in_string = False
            else:
                # 字符串开始
                in_string = True
        elif in_string:
            # 如果在字符串内部，正常添加字符
            current_string.append(char)

    return strings

# 测试代码
source_code = '一般学习一门编程语言的时候，基本上第一个程序是输出\\"Hello World!\\"'
strings = extract_strings(source_code)
print(strings)  # 输出：['一般学习一门编程语言的时候，基本上第一个程序是输出"Hello World!"']
